/**
 */
package Entityrelationship.entityrelationship.util;

import Entityrelationship.entityrelationship.*;

import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;

import org.eclipse.emf.ecore.util.Switch;

/**
 * <!-- begin-user-doc -->
 * The <b>Switch</b> for the model's inheritance hierarchy.
 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
 * to invoke the <code>caseXXX</code> method for each class of the model,
 * starting with the actual class of the object
 * and proceeding up the inheritance hierarchy
 * until a non-null result is returned,
 * which is the result of the switch.
 * <!-- end-user-doc -->
 * @see Entityrelationship.entityrelationship.EntityrelationshipPackage
 * @generated
 */
public class EntityrelationshipSwitch<T> extends Switch<T> {
	/**
	 * The cached model package
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static EntityrelationshipPackage modelPackage;

	/**
	 * Creates an instance of the switch.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EntityrelationshipSwitch() {
		if (modelPackage == null) {
			modelPackage = EntityrelationshipPackage.eINSTANCE;
		}
	}

	/**
	 * Checks whether this is a switch for the given package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @parameter ePackage the package in question.
	 * @return whether this is a switch for the given package.
	 * @generated
	 */
	@Override
	protected boolean isSwitchFor(EPackage ePackage) {
		return ePackage == modelPackage;
	}

	/**
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
	 * @generated
	 */
	@Override
	protected T doSwitch(int classifierID, EObject theEObject) {
		switch (classifierID) {
			case EntityrelationshipPackage.ENTITY: {
				Entity entity = (Entity)theEObject;
				T result = caseEntity(entity);
				if (result == null) result = caseEntity_Weak(entity);
				if (result == null) result = caseEntity_Regular(entity);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ATTRIBUTE: {
				Attribute attribute = (Attribute)theEObject;
				T result = caseAttribute(attribute);
				if (result == null) result = caseA_Composite(attribute);
				if (result == null) result = caseA_Normal(attribute);
				if (result == null) result = caseA_Multivalued(attribute);
				if (result == null) result = caseA_Optional(attribute);
				if (result == null) result = caseA_Derived(attribute);
				if (result == null) result = caseA_Dep_in_identific(attribute);
				if (result == null) result = caseA_Composite_AlternativeIdentifier(attribute);
				if (result == null) result = caseA_Composite_PrimaryIdentifier(attribute);
				if (result == null) result = caseA_Composite_NoIdentifier(attribute);
				if (result == null) result = caseA_Normal_PrimaryIdentifier(attribute);
				if (result == null) result = caseA_Normal_NoIdentifier(attribute);
				if (result == null) result = caseA_Normal_AlternativeIdentifier(attribute);
				if (result == null) result = caseA_Multivalued_NoIdentifier(attribute);
				if (result == null) result = caseA_Multivalued_PrimaryIdentifier(attribute);
				if (result == null) result = caseA_Multivalued_AlternativeIdentifier(attribute);
				if (result == null) result = caseA_Optional_NoIdentifier(attribute);
				if (result == null) result = caseA_Optional_AlternativeIdentifier(attribute);
				if (result == null) result = caseA_Optional_PrimaryIdentifier(attribute);
				if (result == null) result = caseA_Derived_PrimaryIdentifier(attribute);
				if (result == null) result = caseA_Derived_AlternativeIdentifier(attribute);
				if (result == null) result = caseA_Derived_NoIdentifier(attribute);
				if (result == null) result = caseA_Dep_in_identific_NoIdentifier(attribute);
				if (result == null) result = caseA_Dep_in_identific_PrimaryIdentifier(attribute);
				if (result == null) result = caseA_Dep_in_identific_AlternativeIdentifier(attribute);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.RELATIONSHIP: {
				Relationship relationship = (Relationship)theEObject;
				T result = caseRelationship(relationship);
				if (result == null) result = caseR_Regular(relationship);
				if (result == null) result = caseR_Weak_dependence_in_existence(relationship);
				if (result == null) result = caseR_Weak_dependence_in_identification(relationship);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ENTITY_RELATIONSHIP_MODEL: {
				Entity_Relationship_Model entity_Relationship_Model = (Entity_Relationship_Model)theEObject;
				T result = caseEntity_Relationship_Model(entity_Relationship_Model);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.RELATIONSHIPS_RESTRICTION: {
				Relationships_Restriction relationships_Restriction = (Relationships_Restriction)theEObject;
				T result = caseRelationships_Restriction(relationships_Restriction);
				if (result == null) result = caseRSR_Inclusion(relationships_Restriction);
				if (result == null) result = caseRSR_Exclusion(relationships_Restriction);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ATTRIBUTE_COMPOSITE: {
				Attribute_Composite attribute_Composite = (Attribute_Composite)theEObject;
				T result = caseAttribute_Composite(attribute_Composite);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.CONNECTION_ENTITY_RELATIONSHIP: {
				Connection_Entity_Relationship connection_Entity_Relationship = (Connection_Entity_Relationship)theEObject;
				T result = caseConnection_Entity_Relationship(connection_Entity_Relationship);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.CONNECTION_ERRESTRICTION: {
				Connection_E_R_Restriction connection_E_R_Restriction = (Connection_E_R_Restriction)theEObject;
				T result = caseConnection_E_R_Restriction(connection_E_R_Restriction);
				if (result == null) result = caseC_E_R_R_Inclusiveness(connection_E_R_Restriction);
				if (result == null) result = caseC_E_R_R_Exclusiveness(connection_E_R_Restriction);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.GENERALIZATION: {
				Generalization generalization = (Generalization)theEObject;
				T result = caseGeneralization(generalization);
				if (result == null) result = caseG_Total_Exclusive(generalization);
				if (result == null) result = caseG_Total_Overlapped(generalization);
				if (result == null) result = caseG_Partial_Exclusive(generalization);
				if (result == null) result = caseG_Partial_Overlapped(generalization);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ENTITY_WEAK: {
				Entity_Weak entity_Weak = (Entity_Weak)theEObject;
				T result = caseEntity_Weak(entity_Weak);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ENTITY_REGULAR: {
				Entity_Regular entity_Regular = (Entity_Regular)theEObject;
				T result = caseEntity_Regular(entity_Regular);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ECLASS2: {
				EClass2 eClass2 = (EClass2)theEObject;
				T result = caseEClass2(eClass2);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.CERRINCLUSIVENESS: {
				C_E_R_R_Inclusiveness c_E_R_R_Inclusiveness = (C_E_R_R_Inclusiveness)theEObject;
				T result = caseC_E_R_R_Inclusiveness(c_E_R_R_Inclusiveness);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.CERREXCLUSIVENESS: {
				C_E_R_R_Exclusiveness c_E_R_R_Exclusiveness = (C_E_R_R_Exclusiveness)theEObject;
				T result = caseC_E_R_R_Exclusiveness(c_E_R_R_Exclusiveness);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.RSR_INCLUSION: {
				RSR_Inclusion rsR_Inclusion = (RSR_Inclusion)theEObject;
				T result = caseRSR_Inclusion(rsR_Inclusion);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.RSR_EXCLUSION: {
				RSR_Exclusion rsR_Exclusion = (RSR_Exclusion)theEObject;
				T result = caseRSR_Exclusion(rsR_Exclusion);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.RREGULAR: {
				R_Regular r_Regular = (R_Regular)theEObject;
				T result = caseR_Regular(r_Regular);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.RWEAK_DEPENDENCE_IN_EXISTENCE: {
				R_Weak_dependence_in_existence r_Weak_dependence_in_existence = (R_Weak_dependence_in_existence)theEObject;
				T result = caseR_Weak_dependence_in_existence(r_Weak_dependence_in_existence);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.RWEAK_DEPENDENCE_IN_IDENTIFICATION: {
				R_Weak_dependence_in_identification r_Weak_dependence_in_identification = (R_Weak_dependence_in_identification)theEObject;
				T result = caseR_Weak_dependence_in_identification(r_Weak_dependence_in_identification);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.GTOTAL_EXCLUSIVE: {
				G_Total_Exclusive g_Total_Exclusive = (G_Total_Exclusive)theEObject;
				T result = caseG_Total_Exclusive(g_Total_Exclusive);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.GTOTAL_OVERLAPPED: {
				G_Total_Overlapped g_Total_Overlapped = (G_Total_Overlapped)theEObject;
				T result = caseG_Total_Overlapped(g_Total_Overlapped);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.GPARTIAL_EXCLUSIVE: {
				G_Partial_Exclusive g_Partial_Exclusive = (G_Partial_Exclusive)theEObject;
				T result = caseG_Partial_Exclusive(g_Partial_Exclusive);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.GPARTIAL_OVERLAPPED: {
				G_Partial_Overlapped g_Partial_Overlapped = (G_Partial_Overlapped)theEObject;
				T result = caseG_Partial_Overlapped(g_Partial_Overlapped);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ACOMPOSITE: {
				A_Composite a_Composite = (A_Composite)theEObject;
				T result = caseA_Composite(a_Composite);
				if (result == null) result = caseA_Composite_AlternativeIdentifier(a_Composite);
				if (result == null) result = caseA_Composite_PrimaryIdentifier(a_Composite);
				if (result == null) result = caseA_Composite_NoIdentifier(a_Composite);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ANORMAL: {
				A_Normal a_Normal = (A_Normal)theEObject;
				T result = caseA_Normal(a_Normal);
				if (result == null) result = caseA_Normal_PrimaryIdentifier(a_Normal);
				if (result == null) result = caseA_Normal_NoIdentifier(a_Normal);
				if (result == null) result = caseA_Normal_AlternativeIdentifier(a_Normal);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.AMULTIVALUED: {
				A_Multivalued a_Multivalued = (A_Multivalued)theEObject;
				T result = caseA_Multivalued(a_Multivalued);
				if (result == null) result = caseA_Multivalued_NoIdentifier(a_Multivalued);
				if (result == null) result = caseA_Multivalued_PrimaryIdentifier(a_Multivalued);
				if (result == null) result = caseA_Multivalued_AlternativeIdentifier(a_Multivalued);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.AOPTIONAL: {
				A_Optional a_Optional = (A_Optional)theEObject;
				T result = caseA_Optional(a_Optional);
				if (result == null) result = caseA_Optional_NoIdentifier(a_Optional);
				if (result == null) result = caseA_Optional_AlternativeIdentifier(a_Optional);
				if (result == null) result = caseA_Optional_PrimaryIdentifier(a_Optional);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ADERIVED: {
				A_Derived a_Derived = (A_Derived)theEObject;
				T result = caseA_Derived(a_Derived);
				if (result == null) result = caseA_Derived_PrimaryIdentifier(a_Derived);
				if (result == null) result = caseA_Derived_AlternativeIdentifier(a_Derived);
				if (result == null) result = caseA_Derived_NoIdentifier(a_Derived);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ADEP_IN_IDENTIFIC: {
				A_Dep_in_identific a_Dep_in_identific = (A_Dep_in_identific)theEObject;
				T result = caseA_Dep_in_identific(a_Dep_in_identific);
				if (result == null) result = caseA_Dep_in_identific_NoIdentifier(a_Dep_in_identific);
				if (result == null) result = caseA_Dep_in_identific_PrimaryIdentifier(a_Dep_in_identific);
				if (result == null) result = caseA_Dep_in_identific_AlternativeIdentifier(a_Dep_in_identific);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ANORMAL_PRIMARY_IDENTIFIER: {
				A_Normal_PrimaryIdentifier a_Normal_PrimaryIdentifier = (A_Normal_PrimaryIdentifier)theEObject;
				T result = caseA_Normal_PrimaryIdentifier(a_Normal_PrimaryIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ANORMAL_NO_IDENTIFIER: {
				A_Normal_NoIdentifier a_Normal_NoIdentifier = (A_Normal_NoIdentifier)theEObject;
				T result = caseA_Normal_NoIdentifier(a_Normal_NoIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ANORMAL_ALTERNATIVE_IDENTIFIER: {
				A_Normal_AlternativeIdentifier a_Normal_AlternativeIdentifier = (A_Normal_AlternativeIdentifier)theEObject;
				T result = caseA_Normal_AlternativeIdentifier(a_Normal_AlternativeIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.AMULTIVALUED_NO_IDENTIFIER: {
				A_Multivalued_NoIdentifier a_Multivalued_NoIdentifier = (A_Multivalued_NoIdentifier)theEObject;
				T result = caseA_Multivalued_NoIdentifier(a_Multivalued_NoIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.AMULTIVALUED_PRIMARY_IDENTIFIER: {
				A_Multivalued_PrimaryIdentifier a_Multivalued_PrimaryIdentifier = (A_Multivalued_PrimaryIdentifier)theEObject;
				T result = caseA_Multivalued_PrimaryIdentifier(a_Multivalued_PrimaryIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.AMULTIVALUED_ALTERNATIVE_IDENTIFIER: {
				A_Multivalued_AlternativeIdentifier a_Multivalued_AlternativeIdentifier = (A_Multivalued_AlternativeIdentifier)theEObject;
				T result = caseA_Multivalued_AlternativeIdentifier(a_Multivalued_AlternativeIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.AOPTIONAL_NO_IDENTIFIER: {
				A_Optional_NoIdentifier a_Optional_NoIdentifier = (A_Optional_NoIdentifier)theEObject;
				T result = caseA_Optional_NoIdentifier(a_Optional_NoIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.AOPTIONAL_ALTERNATIVE_IDENTIFIER: {
				A_Optional_AlternativeIdentifier a_Optional_AlternativeIdentifier = (A_Optional_AlternativeIdentifier)theEObject;
				T result = caseA_Optional_AlternativeIdentifier(a_Optional_AlternativeIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.AOPTIONAL_PRIMARY_IDENTIFIER: {
				A_Optional_PrimaryIdentifier a_Optional_PrimaryIdentifier = (A_Optional_PrimaryIdentifier)theEObject;
				T result = caseA_Optional_PrimaryIdentifier(a_Optional_PrimaryIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ADERIVED_PRIMARY_IDENTIFIER: {
				A_Derived_PrimaryIdentifier a_Derived_PrimaryIdentifier = (A_Derived_PrimaryIdentifier)theEObject;
				T result = caseA_Derived_PrimaryIdentifier(a_Derived_PrimaryIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ADERIVED_ALTERNATIVE_IDENTIFIER: {
				A_Derived_AlternativeIdentifier a_Derived_AlternativeIdentifier = (A_Derived_AlternativeIdentifier)theEObject;
				T result = caseA_Derived_AlternativeIdentifier(a_Derived_AlternativeIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ADERIVED_NO_IDENTIFIER: {
				A_Derived_NoIdentifier a_Derived_NoIdentifier = (A_Derived_NoIdentifier)theEObject;
				T result = caseA_Derived_NoIdentifier(a_Derived_NoIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ADEP_IN_IDENTIFIC_NO_IDENTIFIER: {
				A_Dep_in_identific_NoIdentifier a_Dep_in_identific_NoIdentifier = (A_Dep_in_identific_NoIdentifier)theEObject;
				T result = caseA_Dep_in_identific_NoIdentifier(a_Dep_in_identific_NoIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ADEP_IN_IDENTIFIC_PRIMARY_IDENTIFIER: {
				A_Dep_in_identific_PrimaryIdentifier a_Dep_in_identific_PrimaryIdentifier = (A_Dep_in_identific_PrimaryIdentifier)theEObject;
				T result = caseA_Dep_in_identific_PrimaryIdentifier(a_Dep_in_identific_PrimaryIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ADEP_IN_IDENTIFIC_ALTERNATIVE_IDENTIFIER: {
				A_Dep_in_identific_AlternativeIdentifier a_Dep_in_identific_AlternativeIdentifier = (A_Dep_in_identific_AlternativeIdentifier)theEObject;
				T result = caseA_Dep_in_identific_AlternativeIdentifier(a_Dep_in_identific_AlternativeIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ACOMPOSITE_ALTERNATIVE_IDENTIFIER: {
				A_Composite_AlternativeIdentifier a_Composite_AlternativeIdentifier = (A_Composite_AlternativeIdentifier)theEObject;
				T result = caseA_Composite_AlternativeIdentifier(a_Composite_AlternativeIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ACOMPOSITE_PRIMARY_IDENTIFIER: {
				A_Composite_PrimaryIdentifier a_Composite_PrimaryIdentifier = (A_Composite_PrimaryIdentifier)theEObject;
				T result = caseA_Composite_PrimaryIdentifier(a_Composite_PrimaryIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case EntityrelationshipPackage.ACOMPOSITE_NO_IDENTIFIER: {
				A_Composite_NoIdentifier a_Composite_NoIdentifier = (A_Composite_NoIdentifier)theEObject;
				T result = caseA_Composite_NoIdentifier(a_Composite_NoIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			default: return defaultCase(theEObject);
		}
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Entity</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Entity</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEntity(Entity object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Attribute</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Attribute</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAttribute(Attribute object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Relationship</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Relationship</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseRelationship(Relationship object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Entity Relationship Model</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Entity Relationship Model</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEntity_Relationship_Model(Entity_Relationship_Model object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Relationships Restriction</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Relationships Restriction</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseRelationships_Restriction(Relationships_Restriction object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Attribute Composite</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Attribute Composite</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAttribute_Composite(Attribute_Composite object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Connection Entity Relationship</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Connection Entity Relationship</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseConnection_Entity_Relationship(Connection_Entity_Relationship object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Connection ERRestriction</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Connection ERRestriction</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseConnection_E_R_Restriction(Connection_E_R_Restriction object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Generalization</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Generalization</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseGeneralization(Generalization object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Entity Weak</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Entity Weak</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEntity_Weak(Entity_Weak object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Entity Regular</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Entity Regular</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEntity_Regular(Entity_Regular object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>EClass2</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>EClass2</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEClass2(EClass2 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>CERRInclusiveness</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>CERRInclusiveness</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseC_E_R_R_Inclusiveness(C_E_R_R_Inclusiveness object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>CERRExclusiveness</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>CERRExclusiveness</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseC_E_R_R_Exclusiveness(C_E_R_R_Exclusiveness object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>RSR Inclusion</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>RSR Inclusion</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseRSR_Inclusion(RSR_Inclusion object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>RSR Exclusion</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>RSR Exclusion</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseRSR_Exclusion(RSR_Exclusion object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>RRegular</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>RRegular</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseR_Regular(R_Regular object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>RWeak dependence in existence</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>RWeak dependence in existence</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseR_Weak_dependence_in_existence(R_Weak_dependence_in_existence object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>RWeak dependence in identification</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>RWeak dependence in identification</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseR_Weak_dependence_in_identification(R_Weak_dependence_in_identification object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>GTotal Exclusive</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>GTotal Exclusive</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseG_Total_Exclusive(G_Total_Exclusive object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>GTotal Overlapped</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>GTotal Overlapped</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseG_Total_Overlapped(G_Total_Overlapped object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>GPartial Exclusive</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>GPartial Exclusive</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseG_Partial_Exclusive(G_Partial_Exclusive object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>GPartial Overlapped</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>GPartial Overlapped</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseG_Partial_Overlapped(G_Partial_Overlapped object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>AComposite</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>AComposite</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Composite(A_Composite object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ANormal</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ANormal</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Normal(A_Normal object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>AMultivalued</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>AMultivalued</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Multivalued(A_Multivalued object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>AOptional</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>AOptional</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Optional(A_Optional object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ADerived</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ADerived</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Derived(A_Derived object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ADep in identific</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ADep in identific</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Dep_in_identific(A_Dep_in_identific object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ANormal Primary Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ANormal Primary Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Normal_PrimaryIdentifier(A_Normal_PrimaryIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ANormal No Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ANormal No Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Normal_NoIdentifier(A_Normal_NoIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ANormal Alternative Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ANormal Alternative Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Normal_AlternativeIdentifier(A_Normal_AlternativeIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>AMultivalued No Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>AMultivalued No Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Multivalued_NoIdentifier(A_Multivalued_NoIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>AMultivalued Primary Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>AMultivalued Primary Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Multivalued_PrimaryIdentifier(A_Multivalued_PrimaryIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>AMultivalued Alternative Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>AMultivalued Alternative Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Multivalued_AlternativeIdentifier(A_Multivalued_AlternativeIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>AOptional No Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>AOptional No Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Optional_NoIdentifier(A_Optional_NoIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>AOptional Alternative Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>AOptional Alternative Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Optional_AlternativeIdentifier(A_Optional_AlternativeIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>AOptional Primary Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>AOptional Primary Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Optional_PrimaryIdentifier(A_Optional_PrimaryIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ADerived Primary Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ADerived Primary Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Derived_PrimaryIdentifier(A_Derived_PrimaryIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ADerived Alternative Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ADerived Alternative Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Derived_AlternativeIdentifier(A_Derived_AlternativeIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ADerived No Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ADerived No Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Derived_NoIdentifier(A_Derived_NoIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ADep in identific No Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ADep in identific No Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Dep_in_identific_NoIdentifier(A_Dep_in_identific_NoIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ADep in identific Primary Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ADep in identific Primary Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Dep_in_identific_PrimaryIdentifier(A_Dep_in_identific_PrimaryIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ADep in identific Alternative Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ADep in identific Alternative Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Dep_in_identific_AlternativeIdentifier(A_Dep_in_identific_AlternativeIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>AComposite Alternative Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>AComposite Alternative Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Composite_AlternativeIdentifier(A_Composite_AlternativeIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>AComposite Primary Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>AComposite Primary Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Composite_PrimaryIdentifier(A_Composite_PrimaryIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>AComposite No Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>AComposite No Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseA_Composite_NoIdentifier(A_Composite_NoIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch, but this is the last case anyway.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
	 * @generated
	 */
	@Override
	public T defaultCase(EObject object) {
		return null;
	}

} //EntityrelationshipSwitch
